﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SIMCObjetoNegocio;
using SIMCPresenter;

public partial class Administracion_Filtros : System.Web.UI.Page, IConsultarFiltrosView
{
    private ConsultarFiltrosPresenter m_Presenter;
    public event EventHandler<EventArgs> BuscarFiltros;
    public event EventHandler<SearchEventArgs<FiltroPortafolio>> GuardarFiltro;
    
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        m_Presenter = new ConsultarFiltrosPresenter(this);        
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            BuscarFiltros(null, null);
        }
    }

    protected void btnCrearFiltro_Click(object sender, EventArgs e)
    {
        tblCrearFiltro.Visible = true;
        tblGuardarFiltro.Visible = true;
    }

    public IList<FiltroPortafolio> ListaDeFiltros
    {
        set
        {
            gvFiltros.DataSource = value;
            gvFiltros.DataBind();
        }
    }

    public void MostrarMensaje(string p_Mensaje, bool p_Exito)
    {
        lblMensajeError.Text = p_Mensaje;
    }

    protected void gvFiltros_SelectedIndexChanged(object sender, EventArgs e)
    {
        int IdFiltro = Convert.ToInt32(gvFiltros.SelectedValue);

        string Url = "ModificarFiltro.aspx?idFiltro=" + IdFiltro;

        Response.Redirect(Url);
    }

    protected void btnGuardarFiltro_Click(object sender, EventArgs e)
    {
        FiltroPortafolio Filtro = new FiltroPortafolio
        {
            Descripcion = txtDescripcion.Text,
            Query = txtQuery.Text
        };
        
        GuardarFiltro(null, new SearchEventArgs<FiltroPortafolio>(Filtro));       
    }

    protected void btnCancelarFiltro_Click(object sender, EventArgs e)
    {
        txtDescripcion.Text = "";
        txtQuery.Text = "";
        tblCrearFiltro.Visible = false;
        tblGuardarFiltro.Visible = false;
    }
}